{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ML Model 1: Vector Autoregression (VAR)\n",
    "\n",
    "**UNSUPERVISED APPROACH**: This model does NOT use labels during training.\n",
    "Labels are only used for evaluation and error analysis.\n",
    "\n",
    "**Approach**:\n",
    "- Captures temporal dependencies in time series\n",
    "- Uses reconstruction error for anomaly detection\n",
    "- Suitable for multivariate time series analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from statsmodels.tsa.vector_ar.var_model import VAR\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "plt.style.use('default')\n",
    "sns.set_palette(\"husl\")\n",
    "plt.rcParams['figure.figsize'] = (12, 8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset shape: (2000, 141)\n",
      "Original anomaly rate: 0.110\n",
      "Binary anomaly rate: 0.110\n",
      "Class distribution: {1: 1780, 2: 192, 3: 6, 4: 18, 5: 4}\n",
      "\n",
      "NOTE: Labels are NOT used for training - only for evaluation!\n"
     ]
    }
   ],
   "source": [
    "# Load data\n",
    "df = pd.read_csv('../data/ECG5000_balanced.csv')\n",
    "X = df.drop('target', axis=1)\n",
    "y = df['target']\n",
    "\n",
    "# Convert multiclass to binary: 1 = normal, 2-5 = anomalies\n",
    "y_binary = (y != 1).astype(int)  # 0 for normal (class 1), 1 for anomalies (classes 2-5)\n",
    "\n",
    "print(f\"Dataset shape: {df.shape}\")\n",
    "print(f\"Original anomaly rate: {(y != 1).mean():.3f}\")\n",
    "print(f\"Binary anomaly rate: {y_binary.mean():.3f}\")\n",
    "print(f\"Class distribution: {y.value_counts().sort_index().to_dict()}\")\n",
    "print(\"\\nNOTE: Labels are NOT used for training - only for evaluation!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VAR data shape: (1999, 14)\n",
      "Data prepared for unsupervised VAR modeling\n"
     ]
    }
   ],
   "source": [
    "# UNSUPERVISED VAR ANOMALY DETECTION\n",
    "# No labels used in training - purely reconstruction-based approach\n",
    "\n",
    "# Prepare data for VAR\n",
    "feature_indices = np.arange(0, X.shape[1], 10)  # Use every 10th feature to reduce dimensionality\n",
    "X_subset = X.iloc[:, feature_indices]\n",
    "\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X_subset)\n",
    "X_scaled = pd.DataFrame(X_scaled, columns=X_subset.columns)\n",
    "\n",
    "X_diff = X_scaled.diff().dropna()\n",
    "y_diff = y_binary.iloc[1:]  # Use binary labels for evaluation only\n",
    "\n",
    "print(f\"VAR data shape: {X_diff.shape}\")\n",
    "print(\"Data prepared for unsupervised VAR modeling\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Applying VAR anomaly detection (UNSUPERVISED)...\n",
      "VAR anomalies detected: 200\n",
      "VAR anomaly rate: 0.100\n",
      "\n",
      "VAR detection complete - NO LABELS USED IN TRAINING!\n"
     ]
    }
   ],
   "source": [
    "def var_anomaly_detection(X_data, maxlags=3, threshold_percentile=90):\n",
    "    \"\"\"UNSUPERVISED VAR anomaly detection using reconstruction error\"\"\"\n",
    "    train_size = int(0.8 * len(X_data))\n",
    "    X_train = X_data.iloc[:train_size]\n",
    "    \n",
    "    # Train VAR model on training data only (no labels used)\n",
    "    model = VAR(X_train)\n",
    "    fitted_model = model.fit(maxlags=maxlags, ic='aic')\n",
    "    \n",
    "    # Calculate reconstruction errors for all data\n",
    "    reconstruction_errors = []\n",
    "    for i in range(len(X_data)):\n",
    "        if i < fitted_model.k_ar:\n",
    "            error = np.mean(np.abs(X_data.iloc[i]))\n",
    "        else:\n",
    "            history = X_data.iloc[i-fitted_model.k_ar:i]\n",
    "            prediction = fitted_model.forecast(history.values, steps=1)\n",
    "            actual = X_data.iloc[i].values\n",
    "            error = np.mean(np.abs(actual - prediction[0]))\n",
    "        reconstruction_errors.append(error)\n",
    "    \n",
    "    reconstruction_errors = np.array(reconstruction_errors)\n",
    "    threshold = np.percentile(reconstruction_errors, threshold_percentile)\n",
    "    anomalies = reconstruction_errors > threshold\n",
    "    \n",
    "    return anomalies, reconstruction_errors, fitted_model\n",
    "\n",
    "print(\"Applying VAR anomaly detection (UNSUPERVISED)...\")\n",
    "\n",
    "# Perform VAR anomaly detection\n",
    "var_anomalies, var_errors, var_model = var_anomaly_detection(X_diff)\n",
    "\n",
    "print(f\"VAR anomalies detected: {var_anomalies.sum()}\")\n",
    "print(f\"VAR anomaly rate: {var_anomalies.mean():.3f}\")\n",
    "print(\"\\nVAR detection complete - NO LABELS USED IN TRAINING!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VAR Model Performance (Labels used ONLY for evaluation):\n",
      "Precision: 0.3650\n",
      "Recall: 0.3333\n",
      "F1-Score: 0.3484\n",
      "AUC: 0.6310\n",
      "\n",
      "Error Analysis:\n",
      "False Positives: 127 (normal classified as anomaly)\n",
      "False Negatives: 146 (anomaly missed)\n",
      "True Positives: 73 (anomaly correctly detected)\n",
      "True Negatives: 1653 (normal correctly classified)\n"
     ]
    }
   ],
   "source": [
    "# EVALUATION AND ERROR ANALYSIS\n",
    "# Now we use labels ONLY for evaluation and error analysis\n",
    "\n",
    "y_aligned = y_diff.iloc[:len(var_anomalies)]\n",
    "var_predictions = var_anomalies[:len(y_aligned)]\n",
    "\n",
    "from sklearn.metrics import precision_recall_fscore_support\n",
    "\n",
    "precision, recall, f1, _ = precision_recall_fscore_support(y_aligned, var_predictions, average='binary')\n",
    "auc = roc_auc_score(y_aligned, var_predictions)\n",
    "\n",
    "print(\"VAR Model Performance (Labels used ONLY for evaluation):\")\n",
    "print(f\"Precision: {precision:.4f}\")\n",
    "print(f\"Recall: {recall:.4f}\")\n",
    "print(f\"F1-Score: {f1:.4f}\")\n",
    "print(f\"AUC: {auc:.4f}\")\n",
    "\n",
    "# Calculate error types\n",
    "false_positives = (var_predictions == 1) & (y_aligned == 0)\n",
    "false_negatives = (var_predictions == 0) & (y_aligned == 1)\n",
    "true_positives = (var_predictions == 1) & (y_aligned == 1)\n",
    "true_negatives = (var_predictions == 0) & (y_aligned == 0)\n",
    "\n",
    "print(f\"\\nError Analysis:\")\n",
    "print(f\"False Positives: {false_positives.sum()} (normal classified as anomaly)\")\n",
    "print(f\"False Negatives: {false_negatives.sum()} (anomaly missed)\")\n",
    "print(f\"True Positives: {true_positives.sum()} (anomaly correctly detected)\")\n",
    "print(f\"True Negatives: {true_negatives.sum()} (normal correctly classified)\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3Pp+TEyM8PHxEebm5kIulws3Nzexe/dulTxHjx4VAMTmzZtV0pXtef78eZX03D77P/74QzRo0EDI5XLh4OAgZs+eLVavXv3G8akc/69fd2NiYkRAQICwsbERurq6onLlyqJbt25iy5YtUp7vv/9euLm5CXNzc+l+OGPGDPHy5UuNbUlERESlQybEWzy5hYiIiIiIyo3k5GRYWFhgwYIFGDNmTGlXh4iIiIioXOCa6ERERERE74kTJ06gcuXKGDFiRGlXhYiIiIio3OBMdCIiIiIiIiIiIiIiDTgTnYiIiIiIiIiIiIhIAwbRiYiIiIiIiIiIiIg0YBCdiIiIiIiIiIiIiEgDndKuQElTKBR4+PAhTExMIJPJSrs6RERERERERERERFQKhBBITk6GnZ0dtLQ0zzd/74LoDx8+RNWqVUu7GkRERERERERERERUBty/fx9VqlTRuP29C6KbmJgAeNUwpqampVyb0qFQKPD06VNYWVnl+QsLUXFiP6SygP2QygL2QyoL2A+pLGA/pLKA/ZDKAvZDKgvel36YlJSEqlWrSjFjTd67ILpyCRdTU9P3OoiekZEBU1PTd3oQUNnGfkhlAfshlQXsh1QWsB9SWcB+SGUB+yGVBeyHVBa8b/3wTct+v/stQERERERERERERERUSAyiExERERERERERERFpwCA6EREREREREREREZEG792a6EREREREREREREUtOzsbmZmZb12OQqFAZmYmMjIy3ou1qKlself6oa6uLrS1td+6HAbRiYiIiIiIiIiICkkIgcePHyMhIaHIylMoFEhOTn7jww6Jisu71A/Nzc1hY2PzVufBIDoREREREREREVEhKQPo1tbWMDQ0fOuAoxACWVlZ0NHRKffBSyq/3oV+KIRAWloa4uLiAAC2traFLotBdCIiIiIiIiIiokLIzs6WAuiWlpZFUua7ELyk8u9d6YcGBgYAgLi4OFhbWxd6aZfyu6ANERERERERERFRKVKugW5oaFjKNSEiTZTj822eWcAgOhERERERERER0VsozzN1id51RTE+GUQnIiIiIiIiIiIiItKAQXQiIiIiIiIiIiIiIg0YRCciIiIiIiIiIiojshRZpV2FMkEmk2HHjh2lXY1i5eDggAULFkjvS+KcV61ahQ8++KBYj1EcJk2ahE8//bTUjs8gOhERERERERERURkQ+SQSHdZ0QGRcZIkd88yZM9DW1kbXrl0LvO/rQeDS8Db1L2sePXoEb2/vYis/IyMDU6ZMwdSpU1XSk5KSMGXKFNSrVw8GBgawtLSEm5sb5syZg+fPnxdbfQpi/PjxWLNmDW7fvl0qx2cQnYiIiIiIiIiIqAxYcm4Jrj29hmUXlpXYMVetWoVPP/0UJ06cwMOHD0vsuEWlvNc/JxsbG+jr6xdb+Vu2bIGpqSlat24tpT179gwtWrRASEgIxo8fj7Nnz+LSpUv4/vvvERERgfXr12ss7+XLl8VW19dVrFgRnp6eWLas5MZGTgyiExERERERERERlbLLjy4j/HY45DpyHIo9hIjHEcV+zJSUFGzcuBGffPIJunbtitDQULU8u3btQrNmzSCXy1GxYkX07t0bAODh4YG7d+/iiy++gEwmg0wmAwAEBQWhUaNGKmUsWLAADg4O0vvz58+jc+fOqFixIszMzODu7o5Lly4Vef2PHTsGmUyGw4cPo2nTpjA0NESrVq1w69YtlXzLli1D9erVoaenh1q1amHt2rUq22UyGVasWIFu3brB0NAQderUwZkzZxAdHQ0PDw8YGRmhVatWiImJkfaJiYlBz549UalSJRgbG6NZs2Y4dOhQnufz+nIu9+/fh6+vL8zNzWFhYYGePXvizp07Kufn5uYGIyMjmJubo3Xr1rh7967G8n///Xd0795dJe3rr7/GvXv3cO7cOQwZMgQNGjSAvb09PvjgA6xbtw6jR4+W8jo4OGD69OkICAiAqakpRo4cCQA4deoU2rZtCwMDA1StWhWBgYFITU2V9nvx4gXGjx+PypUrw8jICM2bN8exY8ek7aGhoTA3N8eBAwdQp04dGBsbw8vLC48ePVKpa/fu3fH777/n2YbFhUF0IiIiIiIiIiKiUrb8wnKkZ6bD1tgWGVkZJTIbfdOmTahduzZq1aqFjz76CKtXr4YQQtq+Z88e9O7dG126dMHly5dx+PBhuLm5AQC2bduGKlWqYNq0aXj06JFawDMvycnJGDRoEE6dOoW//voLzs7O6NKlC5KTk4u0/krffPMN5s6diwsXLkBHRwdDhw6Vtm3fvh2fffYZxo0bh7///hujRo3CkCFDcPToUZUylMHjiIgI1K5dGwMGDMCoUaMwefJkXLhwAUIIjB07VsqfkpKCLl264PDhw7h8+TK8vLzQvXt33Lt3L1/nlpmZCU9PT5iYmODkyZM4ffq0FFx++fIlsrKy0KtXL7i7uyMyMhJnzpzByJEjpR8zcnPq1Ck0bdpUeq9QKLBx40Z89NFHsLOzy3Wf18ubM2cOGjZsiMuXL2PKlCmIiYmBl5cX+vbti8jISGzcuBGnTp1SaYuxY8fizJkz+P333xEZGYl+/frBy8sLUVFRUp60tDTMmTMHa9euxYkTJ3Dv3j2MHz9e5dhubm548OCByg8JJUa8ZxITEwUAkZiYWNpVKTXZ2dni0aNHIjs7u7SrQu8x9kMqC9gPqSxgP6SygP2QygL2QyoL2A+poNLT08X169dFenr6W5Vz6eEl4bDAQTgvchauK1yF80Jn4bDAQVx+dLloKqpBq1atxIIFC4QQQmRmZoqKFSuKo0ePSttbtmwp/P39Ne5vb28v5s+fr5I2depU0bBhQ5W0+fPnC3t7e43lZGdnCxMTE7Fr1y4pDYDYvn37W9X/6NGjAoA4dOiQlLZnzx4BQPrMWrVqJUaMGKFSbr9+/USXLl1U6vLtt99K78+cOSMAiFWrVklpGzZsEHK5PM/61qtXTyxevFh6/3r75TzntWvXilq1agmFQiFtf/HihTAwMBAHDhwQ8fHxAoA4duxYnsdUev78uQAgTpw4IaU9fvxYABDz5s1TydukSRNhZGQkjIyMhJ+fn0p9e/XqpZJ32LBhYuTIkSppJ0+eFFpaWiI9PV3cvXtXaGtri3///VclT8eOHcXkyZOFEEKEhIQIACI6OlravmTJElGpUiWVfZRx3fyes1Je4zS/sWLORCciIiIiIiIiIipFylnoJnomAABjPWOkZ6Zj2fnim41+69YtnDt3Dv379wcA6Ojo4MMPP8SqVaukPBEREejYsWORH/vJkycYMWIEnJ2dYWZmBlNTU6SkpOR7lnZ+66/UoEED6d+2trYAgLi4OADAjRs3VNYIB4DWrVvjxo0bGsuoVKkSAMDFxUUlLSMjA0lJSQBezUQfP3486tSpA3NzcxgbG+PGjRv5PscrV64gOjoaJiYmMDY2hrGxMSwsLJCRkYGYmBhYWFhg8ODB8PT0RPfu3bFw4cI8/xogPT0dACCXy9947O3bt+Py5cvo3LmztJ9SzpnsynqGhoZKdTQ2NoanpycUCgViY2Nx9epVZGdno2bNmip5jh8/rrL8jaGhIapXry69t7W1lT4jJQMDAwCvZq2XNJ0SPyIREREREREREREB+N9a6Kb6ptLSGTKZDKb6pgi/HY6IxxFoZNOoyI+7atUqZGVlqSzjIYSAvr4+fv75Z5iZmUlBy4LQ0tJSW1IlMzNT5f2gQYMQHx+PhQsXwt7eHvr6+mjZsmWBHlSZn/or6erqSv9WtrFCoSjQeeVWRl7ljh8/HgcPHsScOXNQo0YNGBgYwMfHJ9/nmJKSAldXV4SFhalts7KyAgCEhIQgMDAQ+/fvx8aNG/Htt9/i4MGDaNGihdo+lpaWkMlkeP78uUo55ubmamvEV6tWDUIImJiYSD8KKBkZGanVc9SoUQgMDFQ7ZrVq1RAZGQltbW1cvHgR2traKtuNjY2lf+dsS+BVe77ej549e6Zy/iWJM9GJiIiIiIiIiIhKyeuz0JVM9EyKbTZ6VlYWfvvtN8ydOxcRERHS68qVK7Czs8OGDRsAvJp9ffjwYY3l6OnpITs7WyXNysoKjx8/VgmARkREqOQ5ffo0AgMD0aVLF9SrVw/6+vr477//irz++VGnTh2cPn1arX5169bNdxm5OX36NAYPHozevXvDxcUFNjY2BVrLu0mTJoiKioK1tTVq1Kih8sr5A0Hjxo0xefJk/Pnnn6hfvz7Wr1+fa3l6enqoW7curl+/LqVpaWnB19cX69atw8OHDwt1nk2aNMH169fV6lijRg3o6emhcePGyM7ORlxcnNp2GxubAh3r77//hq6uLurVq1eour4NBtGJiIiIiIiIiIhKQW6z0JVen41elHbv3o3nz59j2LBhqF+/vsqrb9++0pIoU6dOxYYNGzB16lTcuHEDV69exezZs6VyHBwccOLECfz7779SENzDwwNPnz7Fjz/+iJiYGCxZsgT79u1TOb6zszPWrl2LGzdu4OzZs/D39y/QrPf81j8/JkyYgNDQUCxbtgxRUVGYN28etm3bpvZQy4JydnbGtm3bpOD+gAEDCjT73d/fHxUrVkTPnj1x8uRJxMbG4tixYwgMDMSDBw8QGxuLyZMn48yZM7h79y7Cw8MRFRWFOnXqaCzT09MTp06dUkmbOXMmKleuDDc3N6xevRqRkZGIiYnB9u3b8ddff6nNHn/dV199hT///BNjx45FREQEoqKisHPnTunBojVr1oS/vz8CAgKwbds2xMbG4ty5c5g1axb27NmT7/YAgJMnT6Jt27aF+guJt8UgOhERERERERERUSlYfmE5EjMSoSXTQsrLFLWXlkwLSRlJRT4bfdWqVejUqZPKjGalvn374sKFC4iMjISHhwc2b96MP/74A40aNUKHDh1w7tw5Ke+0adNw584dVK9eXVpio06dOli6dCmWLFmChg0b4ty5c2oB6VWrVuH58+do0qQJBg4ciMDAQFhbWxd5/fOjV69eWLhwIebMmYN69ephxYoVCAkJgYeHR77rk5t58+ahQoUKaNWqFbp37w5PT080adIk3/sbGhrixIkTqFatGvr06YM6depg2LBhyMjIgKmpKQwNDXHz5k307dsXNWvWxMiRIzFmzBiMGjVKY5nDhg3D3r17kZiYKKVZWlri3LlzCAgIwE8//QQ3Nze4uLggODgY/fr1wy+//JJnPRs0aIDjx4/jn3/+Qdu2bdG4cWN89913KsvshISEICAgAOPGjUOtWrXQq1cvnD9/HtWqVct3ewDA77//jhEjRhRon6IiE68vLvOOS0pKgpmZGRITE2Fqalra1SkVCoUCcXFxsLa2hpYWf0eh0sF+SGUB+yGVBeyHVBawH1JZwH5IZQH7IRVURkYGYmNj4ejomK8HNuakEAq0+LUF4tPj1bYJIVRmplsaWOKv4X9BS8Z+SW+nX79+aNKkCSZPnpxnPiEEsrKyoKOjo/ZXEqVh3759GDduHCIjI6GjU7DHfOY1TvMbK+aDRYmIiIiIiIiIiEqYlkwLRwcdRWpmqkp6bsFLI10jBtCpSPz000/YtWtXaVejwFJTUxESElLgAHpRYRCdiIiIiIiIiIioFBjpGcFIz0glrazNAKZ3i4ODAz799NPSrkaB+fj4lOrx+RMWEREREREREREREZEGDKITEREREREREREREWnAIDoRERERERERERERkQYMohMRERERERERERERacAgOhERERERERERERGRBgyiExERERERERERERFpwCA6EREREREREREREZEGDKITERERERERERGVhnv3gJs33/y6d6+0a/pWBg8ejF69eknvPTw88Pnnn5d4PY4dOwaZTIaEhIQSP3ZJuXPnDmQyGSIiIgCU3DkPHDgQM2fOLNZjAEBoaCjMzc2l98uXL0f37t2L/bgMohMREREREREREZW0e/cALy/A01P15eUFnW7dVLd5eRV5IH3w4MGQyWSQyWTQ09NDjRo1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7jh9+jSWL1+uMX96ejomTJgAHx8fODo64sGDBzh//jz69u0LAPjqq6/QokULjB07FsOHD4eRkRGuX7+OgwcP4ueffy5UHSdMmICpU6eievXqaNSoEUJCQhAREYGwsDAAwLx582Bra4vGjRtDS0sLmzdvho2NDczNzdXKsra2hoGBAfbv348qVapALpfDzMws1+P6+/ujW7duuHbtGj766COVbd999x26deuGatWqwcfHB1paWrhy5Qr+/vtvfP/99wgNDUV2djaaN28OQ0NDrFu3DgYGBnmu105lB5dzISIiIiIiIiIiKmm5BdCVgXIDO6DNllfpykB6MS/totSwYUPMmzcPs2fPRv369REWFoZZs2ZpzK+trY34+HgEBASgZs2a8PX1hbe3N4KDgwEADRo0wPHjx/HPP/+gbdu2aNy4Mb777jvY2RX+R4HAwEB8+eWXGDduHFxcXLB//3788ccf0gNNTUxM8OOPP6Jp06Zo1qwZ7ty5g71790oz63PS0dHBokWLsGLFCtjZ2aFnz54aj9uhQwdYWFjg1q1bGDBggMo2T09P7N69G+Hh4WjWrBlatGiB+fPnS0Fyc3NzrFy5Eq1bt0aDBg1w6NAh7Nq1C5aWloVuByo5MiGEKO1KlKSkpCSYmZkhMTERpqampV2dUqFQKBAXFwdra+tcLx5EJYH9kMoC9kMqC9gPqSxgP6SygP2QygL2QyqojIwMxMbGwtHREXK5PP875hFAF0IgKysLOjo6kKU/0hxoJypGKv1QJivt6ryVvMZpfmPFvCMQERERERERERGVlOwM4JRP/gLjhnb/v/3/Z6Sf8nm1PxGVKAbRiYiIiIiIiIiISoq2HHAeAxg55G9muTKQbuTwaj/tAsx4J6IiwQeLEhERERERERERlSRHf6Ba3/wHxA3tgI5HGEAnKiWciU5ERERERERERFTSChoQZwCdqNQwiE5EREREREREREREpAGD6EREREREREREREREGjCITkRERERERERERESkAYPoREREREREREREJSwrI6tY8xNR0WEQnYiIiIiIiIiIqARFhkViTYc1SH6YnK/8yQ+TsabDGkSGRRZzzfInNDQU5ubmpV2NUjd48GD06tWrtKtBJYBBdCIiIiIiIiIiohKSlZGF80vOI+FOAjb13fTGQHryw2Rs6rsJCXcScH7J+SKbkT548GDI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Mgg68v89y5j9sOQVRd9517Afvp3X+1RWRhb+6PoHku8mw7CKIZqvag4DGwMY6hrm2qfedJ14X7xNPyyv47q81jsnTfdSTeMg/XE6zg47i7QHaTCxN0GPPT2gI9cp9DgozL2c9+W3Vx77bnmqc3H1Q01tkPoyVWUJF033q6Jum9K+flDeeD18O+XpmqNJXvfY3MYpgFzHKFD477ul3Q+L+ntGaR+HCtnWAw8i2zQbeil6GHT43W3r/MaKGUR/D5X2xZjKhsiwSJxfch6+W3xhYmfyxvzJD5MR6h4KyIDBxwbne59NPpvQbEwzNPBvoLKN/ZDKAvbDoleYa4um68T7gv2w/NLU3zWla+rvhR0HRTne2A+pLHif+mFpXz9Is/epH5Jmed1jc9uW11gszDgtC/2wpL7X8/8fSk5B2zrx30T8MekPNPBqgIb+DUughqWDQXQNGEQvGxdjKhuyMrIK9EtiVsarNSMLuk9u+dkPqSxgPywehbm2vKuzGvKD/bB809R/iyq9sMcvaH72QyoL3rd+WNrXD8rd+9YPSbO8xlZu2wqaPy9lpR+W1Pd6/v9DySlI2ykUCjx68Ai2VWzf6ethfmPF7HFE77GC3nQKc5PijY3o/VMS1xaiskJT/y2q9MIev6jyE1HxKe3rBxHlLa+xldu2guYvD0rqewa/z5Scgradtp52MdWk/Hl3f0YgIiIiIiIiIiIiInpLDKITEREREREREREREWnAIDoRERERERERERERkQYMohMRERERERERERERacAgOhERERERERERERGRBgyiExERERERERERERFpwCA6EREREREREREREZEGDKITEREREREREREREWnAIDoRERERERERERERkQYMohMRERERERERERERacAgOhERERERERERERGRBgyiExERERERERERERFpwCA6EREREREREREREZEGDKITEREREREREREREWnAIDoRERERERERERERkQYMohMRERERERERERERacAgOhERERERERERERGRBgyiExERERERERERERFpwCA6EREREREREREREZEGDKITEREREREREREREWlQ6CD6y5cvcevWLWRlZRVlfYiIiIiIiIiIiIiIyowCB9HT0tIwbNgwGBoaol69erh37x4A4NNPP8UPP/xQ5BUkIiIiIiIiIiIiIiotBQ6iT548GVeuXMH/sXfncVbV9f/AX3dYBhTZZDcF1Nz3JSLNJVFExbVcf4rmkn41F8xcyrWU1Nwoi8wFMi3Tr1ouWSgqqeSCkWbuGykOqIhsss79/cGXqQmuzuBlFng+H4/7gHvO55zzPvd+7pk7r/uZz33kkUfSpk2bmuUDBgzIbbfdVtbiAAAAAACgMbWs7wZ33313brvttnz5y19OoVCoWb7xxhvn9ddfL2txAAAAAADQmOo9Ev39999Pt27dllg+a9asWqE6AAAAAAA0d/UO0bfZZpvcd999NfcXB+fXX399+vfvX77KAAAAAACgkdV7OpdLLrkkgwYNyj//+c8sWLAg11xzTf75z3/miSeeyKOPPro8agQAAAAAgEZR75Ho22+/fSZMmJAFCxZk0003zZ///Od069Yt48aNy9Zbb708agQAAAAAgEZR75HoSbLOOuvkl7/8ZblrAQAAAACAJmWZQvSFCxfmrrvuyosvvpgk2WijjbLPPvukZctl2h0AAAAAADRJ9U69X3jhhey9996pqqrK+uuvnyS59NJL07Vr19xzzz3ZZJNNyl4kAAAAAAA0hnrPiX7MMcdk4403zjvvvJNnn302zz77bP71r39ls802y3HHHbc8agQAAAAAgEZR75HoEyZMyDPPPJNOnTrVLOvUqVMuvvjibLvttmUtDgAAAAAAGlO9R6Kvt956mTx58hLLp0yZknXXXbcsRQEAAAAAQFNQ7xB92LBhOfnkk3PHHXfknXfeyTvvvJM77rgjp556ai699NJMnz695gYAAAAAAM1Zvadz2WuvvZIkBx54YAqFQpKkWCwmSQYPHlxzv1AoZOHCheWqEwAAAAAAGly9Q/QxY8bUhOcAAAAAALAiq3eIvtNOOy2HMgAAAAAAoOmp95zoffv2zUUXXZSJEycuj3oAAAAAAKDJqHeIfsopp+TOO+/M2muvnV133TW//e1vM3fu3OVRGwAAAAAANKp6h+innnpqJkyYkKeeeiobbrhhvv3tb6dnz5456aST8uyzzy6PGgEAAAAAoFHUO0RfbKuttsrw4cMzadKknH/++bn++uuz7bbbZosttsiNN96YYrFYzjoBAAAAAKDB1fuLRRebP39+7rrrrtx0000ZPXp0vvzlL+foo4/OO++8k3POOScPPvhgbr311nLWCgAAAAAADarOIfqvfvWrHHTQQXnhhRdy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6h2ijx07NnvssccSywcNGpSxY8eWpSgAAAAAAGgK6h2iz5w5M61bt15ieatWrTJ9+vSyFAUAAAAAAE1BvUP0TTfdNLfddtsSy3/7299mo402KktRAAAAAADQFNT7i0XPPffc7L///nn99dfzta99LUny0EMP5Te/+U1uv/32shcIAAAAAACNpd4h+uDBg3P33XfnkksuyR133JG2bdtms802y4MPPpgdd9xxedQIAAAAAACNot4hepLsueee2XPPPctdCwAAAAAANCn1nhM9SaZNm5brr78+55xzTqZOnZokefbZZ/Puu++WtTgAAAAAAGhM9R6J/txzz2XAgAHp0KFD3nrrrRxzzDHp3Llz7rzzzkycODG/+tWvlkedAAAAAADQ4Oo9En3o0KE58sgj8+qrr6ZNmzY1y/fYY4+MHTu2rMUBAAAAAEBjqneI/vTTT+db3/rWEsvXWGONVFVVlaUoAAAAAABoCuodoldWVmb69OlLLH/llVfStWvXshQFAAAAAABNQb1D9L333jsXXXRR5s+fnyQpFAqZOHFizjzzzBxwwAFlLxAAAAAAABpLvUP0K664IjNnzky3bt3yySefZMcdd8y6666b1VZbLRdffPHyqBEAAAAAABpFy/pu0KFDh4wePTqPP/54/v73v2fmzJnZaqutMmDAgOVRHwAAAAAANJp6h+i/+tWvctBBB2W77bbLdtttV7N83rx5+e1vf5sjjjiirAUCAAAAAEBjqfd0LkcddVQ+/vjjJZbPmDEjRx11VFmKAgAAAACApqDeIXqxWEyhUFhi+TvvvJMOHTqUpSgAAAAAAGgK6jydy5ZbbplCoZBCoZBddtklLVv+e9OFCxfmzTffzO67775cigQAAAAAgMZQ5xB93333TZJMmDAhAwcOTLt27WrWtW7dOn369MkBBxxQ9gIBAAAAAKCx1DlEP//885Mkffr0yUEHHZQ2bdost6IAAAAAAKApqPec6EOGDMmcOXNy/fXX5+yzz87UqVOTJM8++2zefffdshcIAAAAAACNpc4j0Rd77rnnMmDAgHTo0CFvvfVWjj322HTu3Dl33nlnJk6cmF/96lfLo04AAAAAAGhw9R6Jftppp+XII4/Mq6++WmtKlz322CNjx44ta3EAAAAAANCY6j0S/Zlnnsl11123xPI11lgjVVVVZSkKAAAAAACagnqPRK+srMz06dOXWP7KK6+ka9euZSkKAAAAAACagnqH6HvvvXcuuuiizJ8/P0lSKBQyceLEnHnmmTnggAPKXiAAAAAAADSWeofoV1xxRWbOnJlu3brlk08+yY477ph11103q622Wi6++OLlUSMAAAAAADSKes+J3qFDh4wePTqPPfZYnnvuucycOTNbbbVVBgwYsDzqAwAAAACARlPvEH2x7bffPttvv305awEAAAAAgCalXiF6dXV1Ro4cmTvvvDNvvfVWCoVC+vbtm69//es5/PDDUygUlledAAAAAADQ4Oo8J3qxWMzee++dY445Ju+++2423XTTbLzxxnn77bdz5JFHZr/99luedQIAAAAAQIOr80j0kSNHZuzYsXnooYey884711o3ZsyY7LvvvvnVr36VI444ouxFAgAAAABAY6jzSPTf/OY3Oeecc5YI0JPka1/7Ws4666zccsstZS0OAAAAAAAaU51D9Oeeey677757yfWDBg3K3//+97IUBQAAAAAATUGdQ/SpU6eme/fuJdd37949H330UVmKAgAAAACApqDOIfrChQvTsmXpKdRbtGiRBQsWlKUoAAAAAABoCur8xaLFYjFHHnlkKisrl7p+7ty5ZSsKAAAAAACagjqH6EOGDPnMNkccccTnKgYAAAAAAJqSOofoN9100/KsAwAAAAAAmpw6z4kOAAAAAAArGyE6AAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIERf0S2cs/Tl1fNKt1/aNqX281nroKmrb/8t9Rop5zFoWKWuh6V4PgEAGof34ST6wbLyuMHnIkRfkb15S/LQ15LZk2ovf+s3yd+/l8x+r/by2ZOS+zZN7tus9jazJy3az5u3LHmMT1sHTV2p10gppV4jn7WN10jTVep6WIrnEwCgcSzLe3fv21Y8+sGy8bjB51YoFovFxi6iIU2fPj0dOnTIxx9/nPbt2zd2OcvPwjmLLniz3kpa9kh6X5207pZUz031q9/MlPmd0q1YlYq2ZyYVqyfVHyazL04Wvr5o+5br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Q5qClaUfLs6IF2fGpax0IfqMGTOSJGuuuWYjVwIAAAAAQGObMWNGOnToUHJ9ofhZMfsKprq6OpMmTcpqq62WQqHQ2OU0iunTp2fNNdfMv/71r7Rv376xy2ElpR/SFOiHNAX6IU2BfkhToB/SFOiHNAX6IU3BytIPi8ViZsyYkV69en3qiPuVbiR6RUVFvvCFLzR2GU1C+/btV+gXAc2DfkhToB/SFOiHNAX6IU2BfkhToB/SFOiHNAUrQz/8tBHoi624E9oAAAAAAMDnJEQHAAAAAIAShOgrocrKypx//vmprKxs7FJYiemHNAX6IU2BfkhToB/SFOiHNAX6IU2BfkhToB/WttJ9sSgAAAAAANSVkegAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIvpK59tpr06dPn7Rp0yb9+vXLU0891dglsQIbNmxYtt1226y22mrp1q1b9t1337z88su12uy0004pFAq1bscff3wjVcyK6IILLliij22wwQY16+fMmZMTTzwxq6++etq1a5cDDjggkydPbsSKWRH16dNniX5YKBRy4oknJnEtZPkYO3ZsBg8enF69eqVQKOTuu++utb5YLOa8885Lz54907Zt2wwYMCCvvvpqrTZTp07NYYcdlvbt26djx445+uijM3PmzAY8C5q7T+uH8+fPz5lnnplNN900q666anr16pUjjjgikyZNqrWPpV1Df/SjHzXwmdCcfdb18Mgjj1yij+2+++612rge8nl9Vj9c2nvFQqGQyy+/vKaN6yGfV11ymrr8jjxx4sTsueeeWWWVVdKtW7ecccYZWbBgQUOeSoMToq9EbrvttgwdOjTnn39+nn322Wy++eYZOHBgpkyZ0tilsYJ69NFHc+KJJ+avf/1rRo8enfnz52e33XbLrFmzarU79thj895779XcLrvsskaqmBXVxhtvXKuPPfbYYzXrTjvttNxzzz25/fbb8+ijj2bSpEnZf//9G7FaVkRPP/10rT44evToJMk3vvGNmjauhZTbrFmzsvnmm+faa69d6vrLLrssw4cPz4gRI/Lkk09m1VVXzcCBAzNnzpyaNocddlheeOGFjB49Ovfee2/Gjh2b4447rqFOgRXAp/XD2bNn59lnn825556bZ599NnfeeWdefvnl7L333ku0veiii2pdI7/97W83RPmsID7repgku+++e60+9pvf/KbWetdDPq/P6of/2f/ee++93HjjjSkUCjnggANqtXM95POoS07zWb8jL1y4MHvuuWfmzZuXJ554IqNGjcrIkSNz3nnnNcYpNZwiK40vfelLxRNPPLHm/sKFC4u9evUqDhs2rBGrYmUyZcqUYpLio48+WrNsxx13LJ5yyimNVxQrvPPPP7+4+eabL3XdtGnTiq1atSrefvvtNctefPHFYpLiuHHjGqhCVkannHJKcZ111ilWV1cXi0XXQpa/JMW77rqr5n51dXWxR48excsvv7xm2bRp04qVlZXF3/zmN8VisVj85z//WUxSfPrpp2va/PGPfywWCoXiu+++22C1s+L47364NE899VQxSfHtt9+uWda7d+/iVVddtXyLY6WxtH44ZMiQ4j777FNyG9dDyq0u18N99tmn+LWvfa3WMtdDyu2/c5q6/I58//33FysqKopVVVU1bX7+858X27dvX5w7d27DnkADMhJ9JTFv3ryMHz8+AwYMqFlWUVGRAQMGZNy4cY1YGSuTjz/+OEnSuXPnWstvueWWdOnSJZtssknOPvvszJ49uzHKYwX26quvplevXll77bVz2GGHZeLEiUmS8ePHZ/78+bWujRtssEHWWmst10aWm3nz5uXXv/51vvnNb6ZQKNQsdy2kIb355pupqqqqdf3r0KFD+vXrV3P9GzduXDp27Jhtttmmps2AAQNSUVGRJ598ssFrZuXw8ccfp1AopGPHjrWW/+hHP8rqq6+eLbfcMpdffvkK/yfjNLxHHnkk3bp1y/rrr58TTjghH374Yc0610Ma2uTJk3Pffffl6KOPXmKd6yHl9N85TV1+Rx43blw23XTTdO/evabNwIEDM3369LzwwgsNWH3DatnYBdAwPvjggyxcuLBWB0+S7t2756WXXmqkqliZVFdX59RTT812222XTTbZpGb5oYcemt69e6dXr1557rnncuaZZ+bll1/OnXfe2YjVsiLp169fRo4cmfXXXz/vvfdeLrzwwnz1q1/NP/7xj1RVVaV169ZL/KLevXv3VFVVNU7BrPDuvvvuTJs2LUceeWTNMtdCGtria9zS3hsuXldVVZVu3brVWt+yZct07tzZNZLlYs6cOTnzzDNzyCGHpH379jXLTz755Gy11Vbp3LlznnjiiZx99tl57733cuWVVzZitaxIdt999+y///7p27dvXn/99ZxzzjkZNGhQxo0blxYtWrge0uBGjRqV1VZbbYlpJl0PKael5TR1+R25qqpqqe8hF69bUQnRgQZx4okn5h//+EetuaiT1JpHcNNNN03Pnj2zyy675PXXX88666zT0GWyAho0aFDN/zfbbLP069cvvXv3zu9+97u0bdu2EStjZXXDDTdk0KBB6dWrV80y10JgZTd//vwceOCBKRaL+fnPf15r3dChQ2v+v9lmm6V169b51re+lWHDhqWysrKhS2UFdPDBB9f8f9NNN81mm22WddZZJ4888kh22WWXRqyMldWNN96Yww47LG3atKm13PWQciqV07B0pnNZSXTp0iUtWrRY4tt0J0+enB49ejRSVawsTjrppNx77715+OGH84UvfOFT2/br1y9J8tprrzVEaayEOnbsmPXWWy+vvfZaevTokXnz5mXatGm12rg2sry8/fbbefDBB3PMMcd8ajvXQpa3xde4T3tv2KNHjyW+gH7BggWZOnWqayRltThAf/vttzN69Ohao9CXpl+/flmwYEHeeuuthimQlc7aa6+dLl261Pwcdj2kIf3lL3/Jyy+//JnvFxPXQ5ZdqZymLr8j9+jRY6nvIRevW1EJ0VcSrVu3ztZbb52HHnqoZll1dXUeeuih9O/fvxErY0VWLBZz0kkn5a677sqYMWPSt2/fz9xmwoQJSZKePXsu5+pYWc2cOTOvv/56evbsma233jqtWrWqdW18+eWXM3HiRNdGloubbrop3bp1y5577vmp7VwLWd769u2bHj161Lr+TZ8+PU8++WTN9a9///6ZNm1axo8fX9NmzJgxqa6urvmgBz6vxQH6q6++mgcffDCrr776Z24zYcKEVFRULDG9BpTLO++8kw8//LDm57DrIQ3phhtuyNZbb53NN9/8M9u6HlJfn5XT1OV35P79++f555+v9eHi4g/BN9poo4Y5kUZgOpeVyNChQzNkyJBss802+dKXvpSrr746s2bNylFHHdXYpbGCOvHEE3Prrbfm97//fVZbbbWaubE6dOiQtm3b5vXXX8+tt96aPfbYI6uvvnqee+65nHbaadlhhx2y2WabNXL1rCi+853vZPDgwendu3cmTZqU888/Py1atMghhxySDh065Oijj87QoUPTuXPntG/fPt/+9rfTv3//fPnLX27s0lnBVFdX56abbsqQIUPSsuW/34K5FrK8zJw5s9ZfM7z55puZMGFCOnfunLXWWiunnnpqfvjDH+aLX/xi+vbtm3PPPTe9evXKvvvumyTZcMMNs/vuu+fYY4/NiBEjMn/+/Jx00kk5+OCDa01HBJ/m0/phz5498/Wvfz3PPvts7r333ixcuLDm/WLnzp3TunXrjBs3Lk8++WR23nnnrLbaahk3blxOO+20/L//9//SqVOnxjotmplP64edO3fOhRdemAMOOCA9evTI66+/nu9+97tZd911M3DgwCSuh5THZ/1cThZ9oH377bfniiuuWGJ710PK4bNymrr8jrzbbrtlo402yuGHH57LLrssVVVV+f73v58TTzxxxZ5WqMhK5Sc/+UlxrbXWKrZu3br4pS99qfjXv/61sUtiBZZkqbebbrqpWCwWixMnTizusMMOxc6dOxcrKyuL6667bvGMM84ofvzxx41bOCuUgw46qNizZ89i69ati2ussUbxoIMOKr722ms16z/55JPi//zP/xQ7depUXGWVVYr77bdf8b333mvEillR/elPfyomKb788su1lrsWsrw8/PDDS/05PGTIkGKxWCxWV1cXzz333GL37t2LlZWVxV122WWJ/vnhhx8WDznkkGK7du2K7du3Lx511FHFGTNmNMLZ0Fx9Wj988803S75ffPjhh4vFYrE4fvz4Yr9+/YodOnQotmnTprjhhhsWL7nkkuKcOXMa98RoVj6tH86ePbu42267Fbt27Vps1apVsXfv3sVjjz22WFVVVWsfrod8Xp/1c7lYLBZ/8YtfFNu2bVucNm3aEtu7HlIOn5XTFIt1+x35rbfeKg4aNKjYtm3bYpcuXYqnn356cf78+Q18Ng2rUCwWi8sxowcAAAAAgGbLnOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIEQHAAAAAIAShOgAALACKxQKufvuuxu7jFxwwQXZYostGrsMAACoNyE6AAB8Du+//35OOOGErLXWWqmsrEyPHj0ycODAPP74441dWlm89dZbKRQKmTBhQmOXAgAAjaJlYxcAAADN2QEHHJB58+Zl1KhRWXvttTN58uQ89NBD+fDDDxu7NAAAoAyMRAcAgGU0bdq0/OUvf8mll16anXfeOb17986XvvSlnH322dl7771r2l155ZXZdNNNs+qqq2bNNdfM//zP/2TmzJk160eOHJmOHTvm3nvvzfrrr59VVlklX//61zN79uyMGjUqffr0SadOnXLyySdn4cKFNdv16dMnP/jBD3LIIYdk1VVXzRprrJFrr732U2v+17/+lQMPPDAdO3ZM586ds88+++Stt96q8zk/8sgjKRQKeeihh7LNNttklVVWyVe+8pW8/PLLtdr96Ec/Svfu3bPaaqvl6KOPzpw5c5bY1/XXX58NN9wwbdq0yQYbbJCf/exnNeu++c1vZrPNNsvcuXOTJPPmzcuWW26ZI444os61AgBAOQjRAQBgGbVr1y7t2rXL3XffXRP2Lk1FRUWGDx+eF154IaNGjcqYMWPy3e9+t1ab2bNnZ/jw4fntb3+bBx54II888kj222+/3H///bn//vtz88035xe/+EXuuOOOWttdfvnl2XzzzfO3v/0tZ511Vk455ZSMHj16qXXMnz8/AwcOzGqrrZa//OUvefzxx9OuXbvsvvvumTdvXr3O/Xvf+16uuOKKPPPMM2nZsmW++c1v1qz73e9+lwsuuCCXXHJJnnnmmfTs2bNWQJ4kt9xyS84777xcfPHFefHFF3PJJZfk3HPPzahRo5Ikw4cPz6xZs3LWWWfVHG/atGn56U9/Wq86AQDg8yoUi8ViYxcBAADN1f/+7//m2GOPzSeffJKtttoqO+64Yw4++OBsttlmJbe54447cvzxx+eDDz5Ismgk+lFHHZXXXnst66yzTpLk+OOPz80335zJkyenXbt2SZLdd989ffr0yYgRI5IsGom+4YYb5o9//GPNvg8++OBMnz49999/f5JFXyx61113Zd99982vf/3r/PCHP8yLL76YQqGQZNEI744dO+buu+/ObrvttkStb731Vvr27Zu//e1v2WKLLfLII49k5513zoMPPphddtklSXL//fdnzz33zCeffJI2bdrkK1/5Srbccstao+K//OUvZ86cOTVzq6+77ro1o+gX++EPf5j7778/TzzxRJJk3Lhx2XHHHXPWWWdl2LBhefjhh7P99tvX49kBAIDPz0h0AAD4HA444IBMmjQpf/jDH7L77rvnkUceyVZbbZWRI0fWtFkcOK+xxhpZbbXVcvjhh+fDDz/M7Nmza9qsssoqNQF6knTv3j19+vSpCdAXL5syZUqt4/fv33+J+y+++OJSa/373/+e1157LauttlrNKPrOnTtnzpw5ef311+t13v/5IUHPnj2TpKa2F198Mf369StZ56xZs/L666/n6KOPrqmjXbt2+eEPf1irjv79++c73/lOfvCDH+T0008XoAMA0Ch8sSgAAHxObdq0ya677ppdd9015557bo455picf/75OfLII/PWW29lr732ygknnJCLL744nTt3zmOPPZajjz468+bNyyqrrJIkadWqVa19FgqFpS6rrq5e5jpnzpyZrbfeOrfccssS67p27Vqvff1nbYtHtde1tsXzwf/yl79cImxv0aJFzf+rq6vz+OOPp0WLFnnttdfqVR8AAJSLkegAAFBmG220UWbNmpUkGT9+fKqrq3PFFVfky1/+ctZbb71MmjSpbMf661//usT9DTfccKltt9pqq7z66qvp1q1b1l133Vq3Dh06lK2mDTfcME8++WTJOrt3755evXrljTfeWKKOvn371rS7/PLL89JLL+XRRx/NAw88kJtuuqlsNQIAQF0J0QEAYBl9+OGH+drXvpZf//rXee655/Lmm2/m9ttvz2WXXZZ99tknyaK5v+fPn5+f/OQneeONN3LzzTfXzGleDo8//nguu+yyvPLKK7n22mtz++2355RTTllq28MOOyxdunTJPvvsk7/85S95880388gjj+Tkk0/OO++8U7aaTjnllNx444256aab8sorr+T888/PCy+8UKvNhRdemGHDhmX48OF55ZVX8vzzz+emm27KlVdemST529/+lvPOOy/XX399tttuu1x55ZU55ZRT8sYbb5StTgAAqAshOgAALKN27dqlX79+ueqqq7LDDjtkk002ybnnnptjjz02P/3pT5Mkm2++ea688spceuml2WSTTXLLLbdk2LBhZavh9NNPzzPPPJMtt9wyP/zhD3PllVdm4MCBS227yiqrZOzYsVlrrbWy//77Z8MNN8zRRx+dOXPmpH379mWr6aCDDsq5556b7373u9l6663z9ttv54QTTqjV5phjjsn111+fm266KZtuuml23HHHjBw5Mn379s2cOXPy//7f/8uRRx6ZwYMHJ0mOO+647Lzzzjn88MOzcOHCstUKAACfpVAsFouNXQQAAFB/ffr0yamnnppTTz21sUsBAIAVlpHoAAAAAABQghAdAAAAAABKMJ0LAAAAAACUYCQ6AAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgCwDF599dXstttu6dChQwqFQu6+++6y7v+tt95KoVDIyJEjy7rf5mynnXbKTjvt1NhlAAAAKxkhOgDQbL3++uv51re+lbXXXjtt2rRJ+/bts9122+Waa67JJ598slyPPWTIkDz//PO5+OKLc/PNN2ebbbZZrsdrSEceeWQKhULat2+/1Mfx1VdfTaFQSKFQyI9//ON673/SpEm54IILMmHChDJUCwAAsHy1bOwCAACWxX333ZdvfOMbqayszBFHHJFNNtkk8+bNy2OPPZYzzjgjL7zwQq677rrlcuxPPvkk48aNy/e+972cdNJJy+UYvXv3zieffJJWrVotl/1/lpYtW2b27Nm55557cuCBB9Zad8stt6RNmzaZM2fOMu170qRJufDCC9OnT59sscUWdd7uz3/+8zIdDwAA4PMQogMAzc6bb76Zgw8+OL17986YMWPSs2fPmnUnnnhiXnvttdx3333L7fjvv/9+kqRjx47L7RiFQiFt2rRZbvv/LJWVldluu+3ym9/8ZokQ/dZbb82ee+6Z//3f/22QWmbPnp1VVlklrVu3bpDjAQAA/CfTuQAAzc5ll12WmTNn5oYbbqgVoC+27rrr5pRTTqm5v2DBgvzgBz/IOuusk8rKyvTp0yfnnHNO5s6dW2u7Pn36ZK+99spjjz2WL33pS2nTpk3WXnvt/OpXv6ppc8EFF6R3795JkjPOOCOFQiF9+vRJsmgalMX//08XXHBBCoVCrWWjR4/O9ttvn44dO6Zdu3ZZf/31c84559SsLzUn+pgxY/LVr341q666ajp27Jh99tknL7744lKP99prr+XII49Mx44d06FDhxx11FGZPXt26Qf2vxx66KH54x//mGnTptUse/rpp/Pqq6/m0EMPXaL91KlT853vfCebbrpp2rVrl/bt22fQoEH5+9//XtPmkUceybbbbpskOeqoo2qmhVl8njvttFM22WSTjB8/PjvssENWWWWVmsflv+dEHzJkSNq0abPE+Q8cODCdOnXKpEmT6nyuAAAApQjRAYBm55577snaa6+dr3zlK3Vqf8wxx+S8887LVlttlauuuio77rhjhg0bloMPPniJtq+99lq+/vWvZ9ddd80VV1yRTp065cgjj8wLL7yQJNl///1z1VVXJUkOOeSQ3Hzzzbn66qvrVf8LL7yQvfbaK3Pnzs1FF12UK664InvvvXcef/zxT93uwQcfzMCBAzNlypRccMEFGTp0aJ544olst912eeutt5Zof+CBB2bGjBkZNmxYDjzwwIwcOTIXXnhhnevcf//9UygUcuedd9Ysu/XWW7PBBhtkq622WqL9G2+8kbvvvjt77bVXrrzyypxxxhl5/vnns+OOO9YE2htuuGEuuuiiJMlxxx2Xm2++OTfffHN22GGHmv18+OGHGTRoULbYYotcffXV2XnnnZda3zXXXJOuXbtmyJAhWbhwYZLkF7/4Rf785z/nJz/5SXr16lXncwUAACjFdC4AQLMyffr0vPvuu9lnn33q1P7vf/97Ro0alWOOOSa//OUvkyT/8z//k27duuXHP/5xHn744Voh7csvv5yxY8fmq1/9apJFQfSaa66Zm266KT/+8Y+z2WabpX379jnttNOy1VZb5f/9v/9X73MYPXp05s2blz/+8Y/p0qVLnbc744wz0rlz54wbNy6dO3dOkuy7777Zcsstc/7552fUqFG12m+55Za54YYbau5/+OGHueGGG3LppZfW6XirrbZa9tprr9x666355je/merq6vz2t7/NCSecsNT2m266aV555ZVUVPx7nMbhhx+eDTbYIDfccEPOPffcdO/ePYMGDcp5552X/v37L/Xxq6qqyogRI/Ktb33rU+vr2LFjbrjhhgwcODA/+tGPcuihh+Y73/lO9t1332V6XgAAAJbGSHQAoFmZPn16kkUBb13cf//9SZKhQ4fWWn766acnyRJzp2+00UY1AXqSdO3aNeuvv37eeOONZa75vy2eS/33v/99qqur67TNe++9lwkTJuTII4+sCdCTZLPNNsuuu+5ac57/6fjjj691/6tf/Wo+/PDDmsewLg499NA88sgjqaqqypgxY1JVVbXUqVySRfOoLw7QFy5cmA8//LBmqppnn322zsesrKzMUUcdVae2u+22W771rW/loosuyv777582bdrkF7/4RZ2PBQAA8FmE6ABAs9K+ffskyYwZM+rU/u23305FRUXWXXfdWst79OiRjh075u233661fK211lpiH506dcpHH320jBUv6aCDDsp2222XY445Jt27d8/BBx+c3/3ud58aqC+uc/31119i3YYbbpgPPvggs2bNqrX8v8+lU6dOSVKvc9ljjz2y2mqr5bbbbsstt9ySbbfddonHcrHq6upcddVV+eIXv5jKysp06dIlXbt2zXPPPZePP/64zsdcY4016vUloj/+8Y/TuXPnTJgwIcOHD0+3bt3qvC0AAMBnEaIDAM1K+/bt06tXr/zjH/+o13b//cWepbRo0WKpy4vF4jIfY/F83Yu1bds2Y8eOzYMPPpjDDz88zz33XA466KDsuuuuS7T9PD7PuSxWWVmZ/fffP6NGjcpdd91VchR6klxyySUZOnRodthhh/z617/On/70p4wePTobb7xxnUfcJ4sen/r429/+lilTpiRJnn/++XptCwAA8FmE6ABAs7PXXnvl9ddfz7hx4z6zbe/evVNdXZ1XX3211vLJkydn2rRp6d27d9nq6tSpU6ZNm7bE8v8e7Z4kFRUV2WWXXXLllVfmn//8Zy6++OKMGTMmDz/88FL3vbjOl19+eYl1L730Urp06ZJVV131851ACYceemj+9re/ZcaMGUv9MtbF7rjjjuy888654YYbcvDBB2e33XbLgAEDlnhM6vqBRl3MmjUrRx11VDbaaKMcd9xxueyyy/L000+Xbf8AAABCdACg2fnud7+bVVddNcccc0wmT568xPrXX38911xzTZJF05EkydVXX12rzZVXXpkk2XPPPctW1zrrrJOPP/44zz33XM2y9957L3fddVetdlOnTl1i2y222CJJMnfu3KXuu2fPntliiy0yatSoWqH0P/7xj/z5z3+uOc/lYeedd84PfvCD/PSnP02PHj1KtmvRosUSo9xvv/32vPvuu7WWLQ77l/aBQ32deeaZmThxYkaNGpUrr7wyffr0yZAhQ0o+jgAAAPXVsrELAACor3XWWSe33nprDjrooGy44YY54ogjsskmm2TevHl54okncvvtt+fII49Mkmy++eYZMmRIrrvuukybNi077rhjnnrqqYwaNSr77rtvdt5557LVdfDBB+fMM8/Mfvvtl5NPPjmzZ8/Oz3/+86y33nq1vljzoosuytixY7Pnnnumd+/emTJlSn72s5/lC1/4QrbffvuS+7/88sszaNCg9O/fP0cffXQ++eST/OQnP0mHDh1ywQUXlO08/ltFRUW+//3vf2a7vfbaKxdddFGOOuqofOUrX8nzzz+fW265JWuvvXatduuss046duyYESNGZLXVVsuqq66afv36pW/fvvWqa8yYMfnZz36W888/P1tttVWS5KabbspOO+2Uc889N5dddlm99gcAALA0RqIDAM3S3nvvneeeey5f//rX8/vf/z4nnnhizjrrrLz11lu54oorMnz48Jq2119/fS688MI8/fTTOfXUUzNmzJicffbZ+e1vf1vWmlZfffXcddddWWWVVfLd7343o0aNyrBhwzJ48OAlal9rrbVy44035sQTT8y1116bHXbYIWPGjEmHDh1K7n/AgAF54IEHsvrqq+e8887Lj3/843z5y1/O448/Xu8Aenk455xzcvrpp+dPf/pTTjnllDz77LO57777suaaa9Zq16pVq4waNSotWrTI8ccfn0MOOSSPPvpovY41Y8aMfPOb38yWW26Z733vezXLv/rVr+aUU07JFVdckb/+9a9lOS8AAGDlVijW55ulAAAAAABgJWIkOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAACihZWMX0BjabnlSY5cAAFBWk8cNb+wSAADKpn0b4z5LKXeu9cnfflrW/cGKyBUJAAAAAABKWClHogMAAABAs1QwJhYamhAdAAAAAJqLQqGxK4CVjo+uAAAAAACgBCPRAQAAAKC5MJ0LNDivOgAAAAAAKMFIdAAAAABoLsyJDg1OiA4AAAAAzYXpXKDBedUBAAAAAEAJQnQAAAAAaC4KhfLe6mns2LEZPHhwevXqlUKhkLvvvnuJNi+++GL23nvvdOjQIauuumq23XbbTJw4sWb9nDlzcuKJJ2b11VdPu3btcsABB2Ty5Mm19jFx4sTsueeeWWWVVdKtW7ecccYZWbBgQb3rhXIQogMAAABAc1GoKO+tnmbNmpXNN98811577VLXv/7669l+++2zwQYb5JFHHslzzz2Xc889N23atKlpc9ppp+Wee+7J7bffnkcffTSTJk3K/vvvX7N+4cKF2XPPPTNv3rw88cQTGTVqVEaOHJnzzjuv/o8XlEGhWCwWG7uIhtZ2y5MauwQAgLKaPG54Y5cAAFA27dsY91lK2y+fWdb9ffLXS5d520KhkLvuuiv77rtvzbKDDz44rVq1ys0337zUbT7++ON07do1t956a77+9a8nSV566aVsuOGGGTduXL785S/nj3/8Y/baa69MmjQp3bt3T5KMGDEiZ555Zt5///20bt16mWuGZeGKBAAAAADNRZmnc5k7d26mT59e6zZ37txlKq26ujr33Xdf1ltvvQwcODDdunVLv379ak35Mn78+MyfPz8DBgyoWbbBBhtkrbXWyrhx45Ik48aNy6abbloToCfJwIEDM3369LzwwgvL9rjB5yBEBwAAAIDmoszTuQwbNiwdOnSodRs2bNgylTZlypTMnDkzP/rRj7L77rvnz3/+c/bbb7/sv//+efTRR5MkVVVVad26dTp27Fhr2+7du6eqqqqmzX8G6IvXL14HDa1lYxcAAAAAADSOs88+O0OHDq21rLKycpn2VV1dnSTZZ599ctpppyVJtthiizzxxBMZMWJEdtxxx89XLDQSI9EBAAAAoLko83QulZWVad++fa3bsoboXbp0ScuWLbPRRhvVWr7hhhtm4sSJSZIePXpk3rx5mTZtWq02kydPTo8ePWraTJ48eYn1i9dBQxOiAwAAAEBzUebpXMqpdevW2XbbbfPyyy/XWv7KK6+kd+/eSZKtt946rVq1ykMPPVSz/uWXX87EiRPTv3//JEn//v3z/PPPZ8qUKTVtRo8enfbt2y8R0ENDMJ0LAAAAAFAnM2fOzGuvvVZz/80338yECRPSuXPnrLXWWjnjjDNy0EEHZYcddsjOO++cBx54IPfcc08eeeSRJEmHDh1y9NFHZ+jQoencuXPat2+fb3/72+nfv3++/OUvJ0l22223bLTRRjn88MNz2WWXpaqqKt///vdz4oknLvMoefg8hOgAAAAA0FwUCo16+GeeeSY777xzzf3F86kPGTIkI0eOzH777ZcRI0Zk2LBhOfnkk7P++uvnf//3f7P99tvXbHPVVVeloqIiBxxwQObOnZuBAwfmZz/7Wc36Fi1a5N57780JJ5yQ/v37Z9VVV82QIUNy0UUXNdyJwn8oFIvFYmMX0dDabnlSY5cAAFBWk8cNb+wSAADKpn0bMxCX0var55V1f5/8RTANn8VIdAAAAABoLso8jznw2YToAAAAANBcCNGhwXnVAQAAAABACUaiAwAAAEBzUdG4XywKKyMhOgAAAAA0F6ZzgQbnVQcAAAAAACUYiQ4AAAAA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dmwGDx6cXr16pVAo5O67765ZN3/+/Jx55pnZdNNNs+qqq6ZXr1454ogjMmnSpFr7mDp1ag477LC0b98+HTt2zNFHH52ZM2fWavPcc8/lq1/9atq0aZM111wzl1122TI9XlAOQnQAAAAAaCYKhfLe6mvWrFnZfPPNc+211y6xbvbs2Xn22Wdz7rnn5tlnn82dd96Zl19+OXvvvXetdocddlheeOGFjB49Ovfee2/Gjh2b4447rmb99OnTs9tuu6V3794ZP358Lr/88lxwwQW57rrr6l8wlEGhWCwWG7uIhtZ2y5MauwQAgLKaPG54Y5cAAFA27dsY91nKxt/7c1n39+x5O2bu3Lm1llVWVqaysvIzty0UCrnrrruy7777lmzz9NNP50tf+lLefvvtrLXWWnnxxRez0UYb5emnn84222yTJHnggQeyxx575J133kmvXr3y85//PN/73vdSVVWV1q1bJ0nOOuus3H333XnppZeW/WRhGbkiAQAAAEAzUSgUynobNmxYOnToUOs2bNiwstX78ccfp1AopGPHjkmScePGpWPHjjUBepIMGDAgFRUVefLJJ2va7LDDDjUBepIMHDgwL7/8cj766KOy1QZ11bKxCwAAAAAA6mZZpmD5NGeffXaGDh1aa1ldRqHXxZw5c3LmmWfmkEMOSfv27ZMkVVVV6datW612LVu2TOfOnVNVVVXTpm/fvrXadO/evWZdp06dylIf1JUQHQAAAABWUnWduqW+5s+fnwMPPDDFYjE///nPy75/aEhCdAAAAABoJgrlHoq+HCwO0N9+++2MGTOmZhR6kvTo0SNTpkyp1X7BggWZOnVqevToUdNm8uTJtdosvr+4DTQkc6IDAAAAQDNR7jnRy21xgP7qq6/mwQcfzOqrr15rff/+/TNt2rSMHz++ZtmYMWNSXV2dfv361bQZO3Zs5s+fX9Nm9OjRWX/99U3lQqMQogMAAAAAdTJz5sxMmDAhEyZMSJK8+eabmTBhQiZOnJj58+fn61//ep555pnccsstWbhwYaqqqlJVVZV58+YlSTbccMPsvvvuOfbYY/PUU0/l8ccfz0knnZSDDz44vXr1SpIceuihad26dY4++ui88MILue2223LNNdcsMXc7NBTTuQAAAABAM9HYs7k888wz2XnnnWvuLw62hwwZkgsuuCB/+MMfkiRbbLFFre0e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5wINr+wh+t/+9rfssccemT17dmbNmpXOnTvngw8+yCqrrJJu3boJ0QEAAABgGYnQoeGVfTqX0047LYMHD85HH32Utm3b5q9//WvefvvtbL311vnxj39c7sMBAAAAAMByU/YQfcKECTn99NNTUVGRFi1aZO7cuVlzzTVz2WWX5Zxzzin34QAAAABgpVFRKJT1Bny2soforVq1SkXFot1269YtEydOTJJ06NAh//rXv8p9OAAAAAAAWG7KPif6lltumaeffjpf/OIXs+OOO+a8887LBx98kJtvvjmbbLJJuQ8HAAAAACsNg8eh4ZV9JPoll1ySnj17JkkuvvjidOrUKSeccELef//9XHfddeU+HAAAAACsNAqFQllvwGcr+0j0bbbZpub/3bp1ywMPPFDuQwAAAAAAQIMoe4gOAAAAACwfBo9Dwyt7iN63b99P/VOQN954o9yHBAAAAICVQoUUHRpc2UP0U089tdb9+fPn529/+1seeOCBnHHGGeU+HAAAAAAALDdlD9FPOeWUpS6/9tpr88wzz5T7cAAAAACw0jAQHRpeRUMdaNCgQfnf//3fhjocAAAAAKxwCoVCWW/AZ2uwEP2OO+5I586dG+pwAAAAAADwuZV9Opctt9yy1qdYxWIxVVVVef/99/Ozn/2s3IdbJpMev6axSwAAKKvWLRtsbAQAAI3Iuz5oeGUP0ffZZ59aIXpFRUW6du2anXbaKRtssEG5DwcAAAAAAMtN2UP0Cy64oNy7BAAAAAAS85hDIyj7X4C0aNEiU6ZMWWL5hx9+mBYtWpT7cAAAAACw0qgolPcGfLayh+jFYnGpy+fOnZvWrVuX+3AAAAAAALDclG06l+HDhydZ9Ccl119/fdq1a1ezbuHChRk7dqw50QEAAADgczB6HBpe2UL0q666KsmikegjRoyoNXVL69at06dPn4wYMaJchwMAAACAlY450aHhlS1Ef/PNN5MkO++8c+6888506tSpXLsGAAAAAIBGUbYQfbGHH3643LsEAAAAAGI6F2gMZf9i0QMOOCCXXnrpEssvu+yyfOMb3yj34QAAAABgpVEolPcGfLayh+hjx47NHnvsscTyQYMGZezYseU+HAAAAAAALDdln85l5syZad269RLLW7VqlenTp5f7cAAAAACw0qgwfBwaXNlHom+66aa57bbbllj+29/+NhtttFG5DwcAAAAANICFCxfm3HPPTd++fdO2bduss846+cEPfpBisVjTplgs5rzzzkvPnj3Ttm3bDBgwIK+++mqt/UydOjWHHXZY2rdvn44dO+boo4/OzJkzG/p0oM7KPhL93HPPzf7775/XX389X/va15IkDz30UG699dbccccd5T4cAAAAAKw0yj4ith4uvfTS/PznP8+oUaOy8cYb55lnnslRRx2VDh065OSTT06y6HsRhw8fnlGjRqVv374599xzM3DgwPzzn/9MmzZtkiSHHXZY3nvvvYwePTrz58/PUUcdleOOOy633nprI54dlFYo/udHRWVy33335ZJLLsmECRPStm3bbL755jn//PPTuXPnbLLJJuU+XL19NHthY5cAAFBWbVu3aOwSAADKpk3Zh32uOL73x1fKur+LB61X57Z77bVXunfvnhtuuKFm2QEHHJC2bdvm17/+dYrFYnr16pXTTz893/nOd5IkH3/8cbp3756RI0fm4IMPzosvvpiNNtooTz/9dLbZZpskyQMPPJA99tgj77zzTnr16lXW84NyWC4fXu255555/PHHM2vWrLzxxhs58MAD853vfCebb7758jgcAAAAALAM5s6dm+nTp9e6zZ07d6ltv/KVr+Shhx7KK68sCvL//ve/57HHHsugQYOSJG+++WaqqqoyYMCAmm06dOiQfv36Zdy4cUmScePGpWPHjjUBepIMGDAgFRUVefLJJ5fXacLnstz+AmTs2LEZMmRIevXqlSuuuCJf+9rX8te//nV5HQ4AAAAAVngVhUJZb8OGDUuHDh1q3YYNG7bUY5911lk5+OCDs8EGG6RVq1bZcsstc+qpp+awww5LklRVVSVJunfvXmu77t2716yrqqpKt27daq1v2bJlOnfuXNMGmpqy/nFMVVVVRo4cmRtuuCHTp0/PgQcemLlz5+buu+/2paIAAAAA8DkVCuXd39lnn52hQ4fWWlZZWbnUtr/73e9yyy235NZbb83GG2+cCRMm5NRTT02vXr0yZMiQ8hYGTUjZRqIPHjw466+/fp577rlcffXVmTRpUn7yk5+Ua/cAAAAAQJlVVlamffv2tW6lQvQzzjijZjT6pptumsMPPzynnXZazcj1Hj16JEkmT55ca7vJkyfXrOvRo0emTJlSa/2CBQsyderUmjbQ1JQtRP/jH/+Yo48+OhdeeGH23HPP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5yc/vTl9+vTpoGoBALasQuvbtXl3sGOPPTYHHHBALr744rfc/+tf/5qhQ4empaVls+77mnEuAMA2pmtV544uAQCgZHbcqts+O9afnltZ0vt95H0auuCdbNU/ki644IKsWbOm6P7ee++dP/zhD2WsCAAAAACA7clW3Ym+pehEBwC2NTrRAYBtiU704v5c4k70g3SiwzvyIwkAAAAAKoXPFYWy69TRBQAAAAAAwNZKJzoAAAAAVIiCVnQoOyE6AAAAAFSIggwdys44FwAAAAAAKEInOgAAAABUCI3oUH460QEAAACgUhRKfL0Hl156aQqFQiZNmtS2tnbt2kyYMCF9+vRJ9+7dc/zxx6epqand45YsWZLRo0dnp512St++fXPBBRdkw4YN760Y2IKE6AAAAADAZvnzn/+cq6++Oh/+8IfbrU+ePDl33nlnfvGLX2T+/PlZunRpxo4d27a/cePGjB49OuvWrctDDz2U2bNnZ9asWbnwwgvL/RJgkwnRAQAAAKBCFEr89W6sXr06J510Uq699trsvPPObesrV67Mj3/843z3u9/Nxz/+8QwbNiw33HBDHnrooTz88MNJkt///vd54okncuONN+aAAw7IJz/5yVxyySW54oorsm7dupK8R1BqQnQAAAAA2E41Nzdn1apV7a7m5ua3fcyECRMyevTojBw5st36woULs379+nbr++23XwYMGJAFCxYkSRYsWJAhQ4aktra27cyoUaOyatWqPP744yV8ZVA6QnQAAAAAqBCFQmmvhoaG9OzZs93V0NBQ9Pl/9rOf5dFHH33LM42NjamqqkqvXr3ardfW1qaxsbHtzP8M0N/Yf2MPtkZdOroAAAAAAGDTvMfPAn2TadOmZcqUKe3Wqqur3/Lsiy++mHPPPTdz587NjjvuWOJKYOulEx0AAAAAtlPV1dWpqalpdxUL0RcuXJhly5blwAMPTJcuXdKlS5fMnz8/M2bMSJcuXVJbW5t169ZlxYoV7R7X1NSUurq6JEldXV2ampretP/GHmyNhOgAAAAAUCkKJb42wyc+8Yk89thjWbRoUds1fPjwnHTSSW3/vMMOO2TevHltj1m8eHGWLFmS+vr6JEl9fX0ee+yxLFu2rO3M3LlzU1NTk8GDB2/++wFlYJwLAAAAAFSIQskHumy6Hj165EMf+lC7tW7duqVPnz5t66effnqm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e+65Z8aPH5+RI0fmjjvuaBvB8q1vfSv9+/fPvvvumyR58cUXc+KJJ6ZXr17p3bt3jjvuuLzwwgtt99u4cWOmTJmSXr16pU+fPvnyl7+c1tbWds/5v8e5NDc35ytf+Ur22GOPVFdXZ++9986Pf/zjvPDCCzniiCOSJDvvvHMKhUJOPfXUJElLS0saGhoycODAdO3aNfvvv39++ctftnueu+66Kx/4wAfStWvXHHHEEe3qBAAA2JYJ0QEAtpCuXbtm3bp1SZJ58+Zl8eLFmTt3bubMmZP169dn1KhR6dGjRx544IH88Y9/TPfu3XP00Ue3Pebyyy/PrFmzcv311+fBBx/M8uXLc9ttt73tc37+85/PzTffnBkzZuTJJ5/M1Vdfne7du2ePPfbIrbfemiRZvHhxXnnllfzgBz9IkjQ0NOQnP/lJZs6cmccffzyTJ0/OySefnPnz5yf5R9g/duzYHHPMMVm0aFHOOOOMTJ06dUu9bQAAAFsV41wAAEqstbU18+bNy913352zzz47r776arp165brrruubYzLjTfemJaWllx33XUpFApJkhtuuCG9evXKfffdl6OOOirf//73M23atIwdOzZJMnPmzNx9991Fn/fvf/97fv7zn2fu3LkZOXJkkuR973tf2/4bo1/69u2bXr16JflH5/r06dNzzz33pL6+vu0xDz74YK6++uocfvjhueqqq/L+978/l19+eZJk3333zWOPPZZvf/vbJXzXAAAAtk5CdACAEpkzZ066d++e9evXp6WlJf/8z/+cr3/965kwYUKGDBnSbg76X//61zzzzDPp0aNHu3usXbs2zz77bFauXJlXXnklI0aMaNvr0qVLhg8f/qaRLm9YtGhROnfunMMPP3yTa37mmWfy+uuv58gjj2y3vm7dugwdOjRJ8uSTT7arI0lb4A4AALCtE6IDAJTIEUcckauuuipVVVXp379/unT571+1unXr1u7s6tWrM2zYsPz0pz9903123XXXd/X8Xbt23ezHrF69Oknym9/8Jrvttlu7verq6ndVBwAAwLZEiA4AUCLdunXL3nvvvUlnDzzwwNxyyy3p27dvampq3vJMv3798sgjj+Swww5LkmzYsCELFy7MgQce+JbnhwwZkpaWlsyfP79tnMv/9EYn/MaNG9vWBg8enOrq6ixZsqRoB/ugQYNyxx13tFt7+OGH3/lFAgAAbAN8sCgAQAc46aSTsssuu+S4447LAw88kOeffz733XdfzjnnnLz00ktJknPPPTeXXnppbr/99jz11FM566yzsmLFiqL33GuvvTJu3Licdtppuf3229vu+fOf/zxJsueee6ZQKGTOnDl59dVXs3r16vTo0SPnn39+Jk+enNmzZ+fZZ5/No48+mh/+8IeZPXt2kuRLX/pSnn766VxwwQVZvHhxbrrppsyaNWtLv0UAAABbBSE6AEAH2GmnnXL//fdnwIABGTt2bAYNGpTTTz89a9eubetMP++883LKKadk3Lhxqa+vT48ePfKZz3zmbe971VVX5YQTTshZZ52V/fbbL2eeeWbWrFmTJNltt93yjW98I1OnTk1tbW0mTpyYJLnkkkvyta99LQ0NDRk0aFCOPvro/OY3v8nAgQOTJAMGDMitt96a22+/Pfvvv39mzpyZ6dOnb8F3BwAAYOtRaC32yVQAAAAAALCd04kOAAAAAABFCNEBAAAAAKAIIToAAAAAABQhRAcAAAAAgCKE6AAAAAAAUIQQHQAAAAAAihCiAwAAAABAEUJ0AAAAAAAoQogOAAAAAABFCNEBAAAAAKAIIToAAAAAABTx/wGnf3+BuMdu5gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1500x1000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Visualization complete!\n",
      "Green triangles (^): Actual anomalies\n",
      "Red squares (s): Predicted anomalies\n",
      "Orange X: False positives (normal classified as anomaly)\n",
      "Purple X: False negatives (anomaly missed)\n"
     ]
    }
   ],
   "source": [
    "# VISUALIZATION: Anomalies (Green = Correct, Red = Predicted)\n",
    "# This is required by the assignment\n",
    "\n",
    "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(15, 10))\n",
    "\n",
    "# Plot 1: Sample time series with anomalies\n",
    "sample_range = slice(0, min(200, len(y_aligned)))  # First 200 samples\n",
    "y_vis = y_aligned[sample_range]\n",
    "var_vis = var_predictions[sample_range]\n",
    "\n",
    "# Plot actual anomalies in GREEN (correct)\n",
    "actual_anomaly_indices = np.where(y_vis == 1)[0]\n",
    "ax1.scatter(actual_anomaly_indices, [1.2] * len(actual_anomaly_indices), \n",
    "           color='green', s=50, marker='^', label='Actual Anomalies (Green)', alpha=0.8)\n",
    "\n",
    "# Plot predicted anomalies in RED\n",
    "predicted_anomaly_indices = np.where(var_vis == 1)[0]\n",
    "ax1.scatter(predicted_anomaly_indices, [0.8] * len(predicted_anomaly_indices), \n",
    "           color='red', s=50, marker='s', label='Predicted Anomalies (Red)', alpha=0.8)\n",
    "\n",
    "# Highlight false positives and false negatives\n",
    "false_positives_vis = (var_vis == 1) & (y_vis == 0)\n",
    "false_negatives_vis = (var_vis == 0) & (y_vis == 1)\n",
    "\n",
    "fp_indices = np.where(false_positives_vis)[0]\n",
    "fn_indices = np.where(false_negatives_vis)[0]\n",
    "\n",
    "ax1.scatter(fp_indices, [0.8] * len(fp_indices), \n",
    "           color='orange', s=100, marker='x', label='False Positives', alpha=0.9)\n",
    "ax1.scatter(fn_indices, [1.2] * len(fn_indices), \n",
    "           color='purple', s=100, marker='x', label='False Negatives', alpha=0.9)\n",
    "\n",
    "ax1.set_title('VAR Model - Anomaly Detection (First 200 samples)\\nGreen = Correct Anomalies, Red = Predicted Anomalies')\n",
    "ax1.set_xlabel('Sample Index')\n",
    "ax1.set_ylabel('Detection Type')\n",
    "ax1.legend()\n",
    "ax1.grid(True, alpha=0.3)\n",
    "ax1.set_ylim(0.5, 1.5)\n",
    "\n",
    "# Plot 2: Confusion matrix\n",
    "cm = confusion_matrix(y_aligned, var_predictions)\n",
    "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=ax2)\n",
    "ax2.set_title('Confusion Matrix')\n",
    "ax2.set_xlabel('Predicted')\n",
    "ax2.set_ylabel('Actual')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "print(\"Visualization complete!\")\n",
    "print(\"Green triangles (^): Actual anomalies\")\n",
    "print(\"Red squares (s): Predicted anomalies\")\n",
    "print(\"Orange X: False positives (normal classified as anomaly)\")\n",
    "print(\"Purple X: False negatives (anomaly missed)\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== VAR MODEL ERROR ANALYSIS ===\n",
      "\n",
      "1. FALSE POSITIVES ANALYSIS (Why normal data classified as anomalies):\n",
      "   - Normal ECG signals with unusual temporal patterns\n",
      "   - Signals that deviate from learned VAR model but are normal\n",
      "   - Individual variations in heart rhythm that exceed reconstruction threshold\n",
      "   - Noisy measurements that create temporal inconsistencies\n",
      "\n",
      "2. FALSE NEGATIVES ANALYSIS (Why anomalies missed):\n",
      "   - Anomalies with temporal patterns similar to normal signals\n",
      "   - Gradual anomalies that don't create large reconstruction errors\n",
      "   - Anomalies in features not captured by the VAR model\n",
      "   - Complex anomalies that VAR model can partially reconstruct\n",
      "\n",
      "3. VAR MODEL STRENGTHS:\n",
      "   - Captures temporal dependencies in time series\n",
      "   - Good at detecting temporal pattern violations\n",
      "   - Can model multivariate relationships\n",
      "   - Reconstruction-based approach is interpretable\n",
      "\n",
      "4. VAR MODEL LIMITATIONS:\n",
      "   - Assumes linear temporal relationships\n",
      "   - May miss non-linear anomaly patterns\n",
      "   - Sensitive to parameter selection (maxlags, threshold)\n",
      "   - Requires sufficient training data for stable model\n",
      "\n",
      "VAR model complete with comprehensive error analysis!\n"
     ]
    }
   ],
   "source": [
    "# ERROR ANALYSIS: Why errors occur\n",
    "# This is the most important part (40% of grade)\n",
    "\n",
    "print(\"=== VAR MODEL ERROR ANALYSIS ===\")\n",
    "print(\"\\n1. FALSE POSITIVES ANALYSIS (Why normal data classified as anomalies):\")\n",
    "print(\"   - Normal ECG signals with unusual temporal patterns\")\n",
    "print(\"   - Signals that deviate from learned VAR model but are normal\")\n",
    "print(\"   - Individual variations in heart rhythm that exceed reconstruction threshold\")\n",
    "print(\"   - Noisy measurements that create temporal inconsistencies\")\n",
    "\n",
    "print(\"\\n2. FALSE NEGATIVES ANALYSIS (Why anomalies missed):\")\n",
    "print(\"   - Anomalies with temporal patterns similar to normal signals\")\n",
    "print(\"   - Gradual anomalies that don't create large reconstruction errors\")\n",
    "print(\"   - Anomalies in features not captured by the VAR model\")\n",
    "print(\"   - Complex anomalies that VAR model can partially reconstruct\")\n",
    "\n",
    "print(\"\\n3. VAR MODEL STRENGTHS:\")\n",
    "print(\"   - Captures temporal dependencies in time series\")\n",
    "print(\"   - Good at detecting temporal pattern violations\")\n",
    "print(\"   - Can model multivariate relationships\")\n",
    "print(\"   - Reconstruction-based approach is interpretable\")\n",
    "\n",
    "print(\"\\n4. VAR MODEL LIMITATIONS:\")\n",
    "print(\"   - Assumes linear temporal relationships\")\n",
    "print(\"   - May miss non-linear anomaly patterns\")\n",
    "print(\"   - Sensitive to parameter selection (maxlags, threshold)\")\n",
    "print(\"   - Requires sufficient training data for stable model\")\n",
    "\n",
    "# Save results\n",
    "import pickle\n",
    "var_results = {\n",
    "    'predictions': var_predictions,\n",
    "    'scores': var_errors[:len(y_aligned)],\n",
    "    'performance': {'precision': precision, 'recall': recall, 'f1': f1, 'auc': auc},\n",
    "    'error_analysis': {\n",
    "        'false_positives': false_positives,\n",
    "        'false_negatives': false_negatives,\n",
    "        'true_positives': true_positives,\n",
    "        'true_negatives': true_negatives\n",
    "    }\n",
    "}\n",
    "\n",
    "with open('../results/var_model_results.pkl', 'wb') as f:\n",
    "    pickle.dump(var_results, f)\n",
    "\n",
    "print(\"\\nVAR model complete with comprehensive error analysis!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
